//-------------------------------------------------------------------
//	Copyright (c) 2010-2012 Zhirnov Andrey
//	This file is part of the "UXGEN" project.
//	See copyright notice in "Engine.h".
//-------------------------------------------------------------------

#ifndef _UX_SOUND_LOADER_H
#define _UX_SOUND_LOADER_H

#include "LoaderHeaders.h"

namespace Engine
{
namespace Loaders
{

	bool DecodeData(const binary_buffer_t &aData, e_sound_format::type eFormat, binary_buffer_t &aResult);
	bool CodeData(const binary_buffer_t &aData, const uint32_array_t &aSizes, e_sound_format::type eFormat,
				  binary_buffer_t &aResultBuf, uint32_array_t &aResultSizes);
	bool CodeData(const binary_buffer_t &aData, e_sound_format::type eFormat, binary_buffer_t &aResultBuf);

	bool LoadSound(IFilePtr pFile, TSoundSource &sSound);
	bool SaveSound(IFilePtr pFile, const TSoundSource &sSound);

	bool LoadStreamedSound(IFilePtr pFile, TStreamedSound &sSound);
	bool SaveSound(IFilePtr pFile, const TStreamedSource &sSound);


}	// Loaders
}	// Engine

#endif	// _UX_SOUND_LOADER_H